package com.engine4cloud.tdf.supervision.dto.query;

import com.engine4cloud.tdf.common.core.constant.enums.InvAuditActionStatusEnum;
import com.engine4cloud.tdf.common.data.web.response.Params;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * 调查评估信息表查询-请求对象
 *
 * @author wenjie
 * @date 2024-02-29 10:42:47
 */
@Data
@Schema(description = "调查评估信息表查询-请求对象")
@NoArgsConstructor
@AllArgsConstructor
public class DcpgInvestigationQueryDTO extends Params {

    /**
     * 主键
     */
    @Schema(description = "主键")
    private Long id;

    /**
     * 委托编号
     */
    @Schema(description = "委托编号")
    private String wtbh;

    /**
     * 调查评估编号
     */
    @Schema(description = "调查评估编号")
    private String dcpgbh;

    /**
     * 被告人姓名
     */
    @Schema(description = "被告人姓名")
    private String bgrxm;

    /**
     * 被告人证件号
     */
    @Schema(description = "被告人证件号")
    private String bgrzjh;

    /**
     * 拟适用矫正类别
     */
    @Schema(description = "拟适用矫正类别", example = "01")
    private String nsyjzlb;

    /**
     * 调查评估结果-是否适合社区矫正
     */
    @Schema(description = "调查评估结果-是否适合社区矫正", example = "1")
    private String dcpgjg;

    /**
     * 罪名
     */
    @Schema(description = "罪名", example = "15,16")
    private List<String> crimeNameList;
    /**
     * 审核动作
     */
    @Schema(description = "动作与状态对应关系：CREATE->县级待指派；COUNTRY_ASSIGN->所待接收；VILLAGE_ACCEPT->所待提交；VILLAGE_REFUSE->所拒绝;VILLAGE_SUBMIT->县待同意;COUNTRY_APPROVE->待交付;COUNTRY_REJECT->县拒绝；DELIVERY->已入矫；REFUSE_RECEIVE->入矫拒绝", example = "CREATE")
    private InvAuditActionStatusEnum preAction;

    /**
     * 所属部门id，初次加载时不能传部门id
     */
    @Schema(description = "所属部门id", example = "1")
    @NotNull(message = "所属部门id不能为空")
    private Long deptId;

    public DcpgInvestigationQueryDTO(String code) {
        this.dcpgbh = code;
    }
}